﻿<?php




            if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){

                   $id=($_GET['id']);

                   $sql = "select * from `cate` where `pid`= $id";
                   $rel = mysqli_query($link,$sql);
                   while($date = mysqli_fetch_assoc($rel)){

                                $cate[]= $date;
                   }

                  print_r(json_encode($cate));die;
            }

          $cate = getcate();

  /*<--递归函数最终版-->*/





            function getcate($pid=0,$cate = array(),$le=0){
               $ss ='';$ss.='⊙';
               $sql = "select * from `cate` where `pid`=$pid ";
               $rsl = mysqli_query($GLOBALS['link'],$sql);
               while($dd = mysqli_fetch_assoc($rsl)){


                      for($i=0;$i<$le;$i++){


                         $dd['name']=$ss.$dd['name'];
                      }
               $cate[]=$dd;
               //$cate = getcate($dd['id'],$cate,$le+1);//深渊开始，不断把前一个函数的id值传到函数的参数中进行查询

              };
                return $cate;
             }
   /*<--/递归函数最终版-->*/





   /*<--递归原生代码-->*/
           //          /*定义一个空数组用来接查询到的数据*/
           //          $cate = array();

           //          /*编写查询语句查询顶级*/
           //          $sql = "select * from `test`.`cate` where `pid`=0 ";

           //          /*执行查询数据库语句，将刚刚提交的新闻数据查询出来用变量接住*/
           //          $rsl = mysqli_query($link,$sql);

           //          /*$date返回一个结果集，通过循环从结果集取真实数据原理，条件为真的情况：1有值的变量、非零的正数、true; while 循环  */

           //            /*顶级结果集数组循环开始下标为0*/

           //            /*顶级层*/ while($dd = mysqli_fetch_assoc($rsl)){

           //                          $cate[]=$dd;

           //                          /*查询当前顶级循环的2级分类  $dd[id]是第一条顶级数据的id作为2级分类父级的值 */
           //                          $sql1 = "select * from `test`.`cate` where `pid`=$dd[id]";

           //                          $rsl1 = mysqli_query($link,$sql1);

           //                 /*2级层*/while($dd1 = mysqli_fetch_assoc($rsl1)){
           //                               $cate[] =$dd1;

           //                               /*查询当前顶级循环的2级的3级分类 $dd1[id]是第2级第一条数据的id*/
           //                               $sql2 = "select * from `test`.`cate` where `pid`=$dd1[id]";

           //                               $rsl2 = mysqli_query($link,$sql2);

           //                      /*3级层*/while($dd2 = mysqli_fetch_assoc($rsl2)){
           //                                     $cate[] =$dd2;

           //                               }



           //                            }

           //                      }//print_r($cate);die;
   /*<--/递归原生代码-->*/

   /*递归函数封装*/

        /*通过观察原生代码发现，代码重复冗余，优化：把重复部分封装成函数，不重复部分提成参数*/

          /*定义一个空数组用来接查询到的数据*/
         //     $cate = array();

         //     /*把数组传入函数是为了，在不断调用的过程中不断的给函数赋值，最终调用结束就会存储每次调用的值*/
         // /*顶级层*/function getCate($link,$cate,$pid=0){

         //             $sql = "select * from `test`.`cate` where `pid`=$pid ";
         //             $rsl = mysqli_query($link,$sql);
         //             while($dd = mysqli_fetch_assoc($rsl)){
         //                $cate[]=$dd;
         //                $cate = getCate1($link,$cate,$dd['id']);//相当于把2级层代码放在这里

         //                };
         //                return $cate;
         //             }


         // /*2级层*/function getCate1($link,$cate,$pid=0){

         //             $sql = "select * from `test`.`cate` where `pid`=$pid ";
         //             $rsl = mysqli_query($link,$sql);
         //             while($dd = mysqli_fetch_assoc($rsl)){
         //                $cate[]=$dd;
         //                $cate = getCate2($link,$cate,$dd['id']);//相当于把2级层代码放在这里，$cate接的是getCate2返回的$cate
         //             };
         //             return $cate;
         //          }

         // /*3级层*/function getCate2($link,$cate,$pid=0){

         //             $sql = "select * from `test`.`cate` where `pid`=$pid ";
         //             $rsl = mysqli_query($link,$sql);
         //             while($dd = mysqli_fetch_assoc($rsl)){
         //                $cate[]=$dd;

         //           };
         //           return $cate;

         //         }

         //        //调用函数 传入参数
         //        $cate = getCate($link,$cate);
   /*/递归函数封装*/






     include(CON_VIEW.$q.'/common.html');
?>